var oTable;
$(function () {
        //1.初始化Table
       oTable = new TableInit();
       oTable.Init();
       initElement();
       initEvent();
     });

var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#meterTable').bootstrapTable({
            url: ctx+'/meterManager/queryMeter.do',         //请求后台的URL（*）
            method: 'post',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: this.queryParams,//传递参数（*）
           // sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
           // pageNumber: 1,                       //初始化加载第一页，默认第一页
            //pageSize: 10,                       //每页的记录行数（*）
           // pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
            //search: true,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            contentType: "application/x-www-form-urlencoded",
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            //minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 700,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "pkid",                     //每一行的唯一标识，一般为主键列
            showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [
                {
                    field: 'pkid',
                    title: 'ID'
                }, {
                    field: 'deviceName',
                    title: '仪表编码'
                }, {
                    field: 'anotherName',
                    title: '仪表别名'
                },{
                    field: 'deviceTypeCode',
                    title: '仪表类型'
                },{
                    field: 'descrition',
                    title: '描述信息'
                },{
                    field: 'standardDay',
                    title: '白班标准量'
                },{
                    field: 'standardNight',
                    title: '夜班标准量'
                },{
                    field: 'intervalTime',
                    title: '抓拍间隔时间'
                },
                {
                    field: 'operate',
                    title: '操作',
                    formatter: operateFormatter //自定义方法，添加操作按钮
                }
            ]
            //rowStyle: function (row, index) {
            //    var classesArr = ['success', 'info'];
            //    var strclass = "";
            //    if (index % 2 === 0) {//偶数行
            //        strclass = classesArr[0];
            //    } else {//奇数行
            //        strclass = classesArr[1];
            //    }
            //    return { classes: strclass };
            //},//隔行变色
        });

    };


    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset:params.offset
        };
        return temp;
    };
    return oTableInit;
};


function operateFormatter(value, row, index) {//赋予的参数
    return [
        '<a class="btn btn-default show-edit" href="javascript:void(0);" data="'+row.pkid+'" data-rowindex="'+index+'">编辑</a>'
    ].join('');
}

function  initElement() {
    //外部js调用
    laydate({
        elem: '#startDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
        event: 'focus' //响应事件。如果没有传入event，则按照默认的click
    });
    laydate({
        elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎，因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
        event: 'focus' //响应事件。如果没有传入event，则按照默认的click
    });
}

function initEvent(){
    $("body").on("click",".show-edit",function(){
        var index=$(this).attr("data-rowindex");
        var mod=$('#meterTable').bootstrapTable("getData")[index];
       // alert(dd.standardDay);
        $(".label-code").text(mod.code);
        $(".form-anotherName").val(mod.name);
        $(".form-standardDay").val(mod.standardDay);
        $(".form-standardNight").val(mod.standardNight);
        $(".form-pkid").val(mod.pkid);
        $('#myModal').modal("show");
    });

    $("body").on("click",".btn-show-add",function(){
        $(".label-code").text("");
        $(".form-anotherName").val("");
        $(".form-standardDay").val("");
        $(".form-standardNight").val("");
        $(".form-pkid").val("");
        $('#myModal').modal("show");
    });

    $("body").on("click",".btn-save",function(){

        var data={};
        data.pkid=$(".form-pkid").val();
        data.anotherName=$(".form-anotherName").val();
        data.standardDay=$(".form-standardDay").val();
        data.standardNight=$(".form-standardNight").val();

        $.ajax({
            type: "POST",
            url: ctx+"/meterManager/saveMeter.do",
            data: data,
            dataType: "json",
            success: function(data, textStatus){
                if(data.code=='000000'){
                    layer.alert('设置成功');
                    $('#myModal').modal("hide");
                    $('#meterTable').bootstrapTable("refresh");
                }
                else{
                    layer.alert('设置失败！'+data.message);
                }

            },
            beforeSend:function(XMLHttpRequest){

            },
            complete:function(XMLHttpRequest, textStatus){

            },
            error:function(XMLHttpRequest, textStatus, errorThrown){

            }
        });
    });
}
